Skip to content

chore: version package for release#36

Merged
flyon merged 3 commits intomainfrom
changeset-release/main
Mar 20, 2026
Merged

chore: version package for release#36
flyon merged 3 commits intomainfrom
changeset-release/main

Conversation

@github-actions
Copy link
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@_linked/core@2.1.1

Patch Changes

  • #34 e2ae4a2 Thanks @flyon! - ### SHACL property path support

    Property decorators now accept full SPARQL property path syntax:

    @literalProperty({path: 'foaf:knows/foaf:name'})        // sequence
    @literalProperty({path: '<http://ex.org/a>|<http://ex.org/b>'})  // alternative
    @literalProperty({path: '^foaf:knows'})                  // inverse
    @literalProperty({path: 'foaf:knows*'})                  // zeroOrMore

    New exports from src/paths/:

    • PathExpr, PathRef — AST types for property paths
    • parsePropertyPath(input): PathExpr — parser for SPARQL property path strings
    • normalizePropertyPath(input): PathExpr — normalizes any input form to canonical AST
    • pathExprToSparql(expr): string — renders PathExpr to SPARQL syntax
    • serializePathToSHACL(expr): SHACLPathResult — serializes to SHACL RDF triples

    PropertyShape.path is now typed as PathExpr (was opaque). Complex paths flow through the full IR pipeline and emit correct SPARQL property path syntax in generated queries.

    Strict prefix resolution in query API

    QueryBuilder.for() and .forAll() now throw on unregistered prefixes instead of silently passing through. New export:

    • resolveUriOrThrow(str): string — strict prefix resolution (throws on unknown prefix)

    SHACL constraint field fixes

    • hasValue and in config fields now correctly handle literal values (string, number, boolean) — previously all values were wrapped as IRI nodes
    • lessThan and lessThanOrEquals config fields are now wired into createPropertyShape and exposed via getResult()
    • New PropertyShapeResult interface provides typed access to getResult() output

@flyon flyon merged commit 6a303ce into main Mar 20, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant